﻿@{
    ViewBag.Title = ViewBag.siteName + " - Giỏ hàng";
    ViewBag.Description = ViewBag.htmlDescription;
    ViewBag.Keywords = ViewBag.htmlKeywords;
}
@model List<BDShop.Models.OrderDetailModels>
@using BDShop.Business.Cache;
@using BDShop.Entities;
@using BDShop.Configuration;
@using BDShop.Framework.Extensions;
@using BDShop.Utilities.Managers;
@using BDShop.Web;

<!--Middle Part Start-->

<div id="content">
    <!--Breadcrumb Part Start-->
    <div class="breadcrumb"><a href="/">Trang chủ</a> » <span>Giỏ hàng</span></div>
    <!--Breadcrumb Part End-->
    <h1>Giỏ hàng</h1>
    <form enctype="multipart/form-data" method="post" action="#">
        <div class="cart-info">
            <table>
                <thead>
                    <tr>
                        <td class="image">Hình ảnh</td>
                        <td class="name">Tên sản phẩm</td>
                        <td class="model">Model</td>
                        <td class="quantity">Số lượng</td>
                        <td class="price">Giá</td>
                        <td class="total">Tổng cộng</td>
                    </tr>
                </thead>
                <tbody>
                    @{ int sum = 0; }
                    @foreach (var order in Model)
                    {
                        ProductCacheComplex product = ProductCache.Instance.Get().Where(p => p.ID == order.productID).FirstOrDefault();
                        Constant property = ConstantCache.Instance.Get().Where(c => c.Value == order.propertyID).FirstOrDefault();
                        int total = order.price * order.quantity;
                        sum += total;

                        string[] categoryDefinition = null;
                        if (!string.IsNullOrEmpty(product.CategoryDefinition))
                        {
                            categoryDefinition = product.CategoryDefinition.Split('|')[0].Split('#');
                        }
                        var url = UrlManager.ProductDetailUrl(product.ID, product.Name, categoryDefinition);

                        List<SelectListItem> lstQuantity = new List<SelectListItem>();
                        for (int i = 0; i < 31; i++)
                        {
                            SelectListItem si = new SelectListItem() { Text = i.ToString(), Value = i.ToString(),Selected=(i==order.quantity)?true:false };
                            lstQuantity.Add(si);
                        }
                        
                        <tr>
                            <td class="image"><a href="@url">
                                <img style="width: 45px" class="lazy" data-original="@Path.Combine(BDShopConfiguration.Storage.MainImagePath, product.MainImage)" src="@Path.Combine(BDShopConfiguration.Storage.MainImagePath, product.MainImage)" alt="@product.Name" /></a></td>
                            <td class="name"><a href="@url">@product.Name</a></td>
                            <td class="model">@property.Description</td>
                            <td class="quantity">                                                               
                                @Html.DropDownList("ddlQuantity"+@order.productID,(IEnumerable<SelectListItem>)lstQuantity, new { @style = "width:50px",onchange="ChangeQuantity("+@order.productID+",'"+@order.propertyID+"','#ddlQuantity"+@order.productID+"')" })
                                &nbsp;
                                        <img title="Hủy" alt="Hủy" src="/Images/remove.png" onclick="RemoveProductOfCart(@order.productID,'@order.propertyID');"></td>
                            <td class="price">@product.Price.ToCurrencyString(false, true)</td>
                            <td class="total">@total.ToCurrencyString(false, true)</td>
                        </tr>
                    }
                </tbody>
            </table>
        </div>
    </form>
    @if (Model.Count > 0)
    {
        <div class="cart-total">
            <table id="total">
                <tbody>
                    <tr>
                        <td class="right"><b>Tổng cộng:</b></td>
                        <td class="right">@sum.ToCurrencyString(false, true)</td>
                    </tr>
                    <tr>
                        <td class="right"><b>Thành tiền:</b></td>
                        <td class="right">@sum.ToCurrencyString(false, true)</td>
                    </tr>
                </tbody>
            </table>
        </div>
        <div class="buttons">
            <div class="right"><a class="button" href="/thanh-toan.html">Thanh toán</a></div>
            <div class="center"><a class="button" href="/">Tiếp tục mua sắm</a></div>
        </div>
    }
</div>

<!--Middle Part End-->
<div class="clear"></div>
<script>
    function RemoveProductOfCart(pID, proID) {
        var r = confirm("Quý khách chắc chắn hủy sản phẩm này!");
        if (r == false) {
            return ;
        } 
        $.post("/Cart/RemoveProductOfCart", {productID:pID,ddlColor:proID})
               .done(function (json) {
                   json = json || {};
                   if (json.success) {
                       location.reload();
                   } else if (json.errors) {
                       alert("Có lỗi trong quá trình hủy sản phẩm trong giỏ hàng.");
                   }
               })
               .error(function () {
                   alert("Có lỗi trong quá trình hủy sản phẩm trong giỏ hàng.");
               });
    };
    
    function ChangeQuantity(pID, proID,ddl) {
        var qrt=$(ddl).val();
        $.post("/Cart/ChangeQuantity", { productID: pID, ddlColor: proID,quantity:qrt })
               .done(function (json) {
                   json = json || {};
                   if (json.success) {
                       location.reload();
                   } else if (json.errors) {
                       alert("Có lỗi trong quá trình cập nhật số lượng trong giỏ hàng.");
                   }
               })
               .error(function () {
                   alert("Có lỗi trong quá trình cập nhật số lượng trong giỏ hàng.");
               });
    };
</script>